#include <iostream>

using namespace std;
// 在大多数的操作系统上，程序不允许访问地址为 0 的内存，因为该内存是操作系统保留的。然而，内存地址 0 有特别重要的意义，
//它表明该指针不指向一个可访问的内存位置。但按照惯例，如果指针包含空值（零值），则假定它不指向任何东西。
// 如需检查一个空指针，您可以使用 if 语句，如下所示：
//if(ptr)     /* 如果 ptr 非空，则完成 */
//if(!ptr)    /* 如果 ptr 为空，则完成 */
int main()
{
    // int var1;
    // char var2[10];

    // cout << "var1 变量的地址： ";
    // cout << &var1 << endl;

    // cout << "var2 变量的地址： ";
    // cout << &var2 << endl;
    cout << "NULL=" << NULL << endl;

    int var[5] = {1, 2, 3, 4, 5}; // 实际变量的声明
    int *ip;                      // 指针变量的声明

    ip = var; // 在指针变量中存储 var 的地址

    cout << "Value of var variable: ";
    cout << var << endl;

    // 输出在指针变量中存储的地址
    cout << "Address stored in ip variable: ";
    cout << ip << endl;

    // 访问指针中地址的值
    cout << "Value of *ip variable: ";
    *ip = 30;
    cout << *ip << endl;
    cout << var << endl;
    return 0;
}